/*
  An Easy Problem
 【题目描述】
    给定一个正整数N，求最小的、比 N 大的正整数 M，使得 M与N 的二进制表示中有相同数目的1。
    举例:
      假如给定的 N 为78，其二进制表示为1001110，包含4个1，
      那么最小的比 N 大的并且二进制表示中只包含4个1的数是83，其二进制是1010011，
      因此 83 就是答案。
 【输入】
    输入若干行，每行一个数n (1 ≤ n ≤ 1000000)，输入"0"结束。
 【输出】
    输出若干行对应的值。
 【输入样例】
    1
    2
    3
    4
    78
    0
 【输出样例】
    2
    4
    5
    8
    83
*/